{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "ename": "ImportError",
     "evalue": "cannot import name 'data_provider' from 'data_provider.data_factory' (/data/Blob_WestJP/v-zhijianxu/Reasoning_baselines/data_provider/data_factory.py)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mImportError\u001b[0m                               Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[1], line 6\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[1;32m      5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmodels\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m model_init\n\u001b[0;32m----> 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mdata_provider\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata_factory\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m data_provider\n\u001b[1;32m      7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mplt\u001b[39;00m\n\u001b[1;32m      8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mutils\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtask\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ahead_task_parser\n",
      "\u001b[0;31mImportError\u001b[0m: cannot import name 'data_provider' from 'data_provider.data_factory' (/data/Blob_WestJP/v-zhijianxu/Reasoning_baselines/data_provider/data_factory.py)"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import os\n",
    "from models import model_init\n",
    "from data_provider.data_factory import data_provider\n",
    "import matplotlib.pyplot as plt\n",
    "from utils.task import ahead_task_parser\n",
    "from utils.tools import dotdict\n",
    "import yaml, json"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = 'PatchTST'\n",
    "data = 'solar'\n",
    "ahead = 'day'\n",
    "version = 'latest'\n",
    "ckpt_base = './checkpoints'\n",
    "\n",
    "ckpt_id = f'_{model}_{data}_{ahead}_ahead'\n",
    "\n",
    "if version == 'latest':\n",
    "    # find all the path that end with the ckpt_id\n",
    "    ckpt_paths = [os.path.join(ckpt_base, i) for i in os.listdir(ckpt_base) if i.endswith(ckpt_id)]\n",
    "    # the path is in format of yyyy-mm-dd{ckpt_id}, now find the latest one\n",
    "    ckpt_paths.sort()\n",
    "    ckpt_path = ckpt_paths[-1]\n",
    "else:\n",
    "    ckpt_path = version + ckpt_id\n",
    "\n",
    "config = dotdict(json.load(open(os.path.join(ckpt_path, 'args.json'))))\n",
    "config.model_config = dotdict(config.model_config)\n",
    "config.data_config = dotdict(config.data_config)\n",
    "\n",
    "config.device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "config.batch_size = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading datasets: 100%|██████████| 9/9 [00:04<00:00,  1.83it/s]\n"
     ]
    }
   ],
   "source": [
    "id_data = data_provider(config, 'test', None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['314106', '319086', '164440', '355827', '331901', '332785', '577650', '551172', '570079'])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "id_data = id_data[0]\n",
    "id_data.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<All keys matched successfully>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = model_init(config.model, config.model_config, config).to(config.device)\n",
    "# load the model\n",
    "model.load_state_dict(torch.load(os.path.join(ckpt_path, 'checkpoint.pth')))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fca5dd1f6d0>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sample_num = 5600 - 24*9\n",
    "input_data, output_data, indate, outdate = id_data['314106'][sample_num]\n",
    "input_data = torch.tensor(input_data).to(config.device).float()\n",
    "output_data = torch.tensor(output_data).to(config.device).float()\n",
    "\n",
    "output = model(input_data.unsqueeze(0))\n",
    "output = output[:, -config.output_len:, :]\n",
    "indate = [str(i) for i in indate]\n",
    "outdate = [str(i) for i in outdate]\n",
    "# convert the yyyymmddHHMMSS to datetime\n",
    "indate = pd.to_datetime(indate, format='%Y%m%d%H%M%S')\n",
    "outdate = pd.to_datetime(outdate, format='%Y%m%d%H%M%S')\n",
    "# reformat the indate as datetime\n",
    "# plot the result\n",
    "# enable inline plotting\n",
    "%matplotlib inline\n",
    "plt.plot(indate, input_data.cpu().detach().numpy().squeeze(), label='input')\n",
    "plt.plot(outdate, output_data.cpu().detach().numpy().squeeze(), label='target')\n",
    "plt.plot(outdate, output.cpu().detach().numpy().squeeze(), label='prediction')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([20220816080000, 20220816090000, 20220816100000, 20220816110000,\n",
       "       20220816120000, 20220816130000, 20220816140000, 20220816150000,\n",
       "       20220816160000, 20220816170000, 20220816180000, 20220816190000,\n",
       "       20220816200000, 20220816210000, 20220816220000, 20220816230000,\n",
       "       20220817000000, 20220817010000, 20220817020000, 20220817030000,\n",
       "       20220817040000, 20220817050000, 20220817060000, 20220817070000,\n",
       "       20220817080000, 20220817090000, 20220817100000, 20220817110000,\n",
       "       20220817120000, 20220817130000, 20220817140000, 20220817150000,\n",
       "       20220817160000, 20220817170000, 20220817180000, 20220817190000,\n",
       "       20220817200000, 20220817210000, 20220817220000, 20220817230000,\n",
       "       20220818000000, 20220818010000, 20220818020000, 20220818030000,\n",
       "       20220818040000, 20220818050000, 20220818060000, 20220818070000,\n",
       "       20220818080000, 20220818090000, 20220818100000, 20220818110000,\n",
       "       20220818120000, 20220818130000, 20220818140000, 20220818150000,\n",
       "       20220818160000, 20220818170000, 20220818180000, 20220818190000,\n",
       "       20220818200000, 20220818210000, 20220818220000, 20220818230000,\n",
       "       20220819000000, 20220819010000, 20220819020000, 20220819030000,\n",
       "       20220819040000, 20220819050000, 20220819060000, 20220819070000,\n",
       "       20220819080000, 20220819090000, 20220819100000, 20220819110000,\n",
       "       20220819120000, 20220819130000, 20220819140000, 20220819150000,\n",
       "       20220819160000, 20220819170000, 20220819180000, 20220819190000,\n",
       "       20220819200000, 20220819210000, 20220819220000, 20220819230000,\n",
       "       20220820000000, 20220820010000, 20220820020000, 20220820030000,\n",
       "       20220820040000, 20220820050000, 20220820060000, 20220820070000,\n",
       "       20220820080000, 20220820090000, 20220820100000, 20220820110000,\n",
       "       20220820120000, 20220820130000, 20220820140000, 20220820150000,\n",
       "       20220820160000, 20220820170000, 20220820180000, 20220820190000,\n",
       "       20220820200000, 20220820210000, 20220820220000, 20220820230000,\n",
       "       20220821000000, 20220821010000, 20220821020000, 20220821030000,\n",
       "       20220821040000, 20220821050000, 20220821060000, 20220821070000,\n",
       "       20220821080000, 20220821090000, 20220821100000, 20220821110000,\n",
       "       20220821120000, 20220821130000, 20220821140000, 20220821150000,\n",
       "       20220821160000, 20220821170000, 20220821180000, 20220821190000,\n",
       "       20220821200000, 20220821210000, 20220821220000, 20220821230000,\n",
       "       20220822000000, 20220822010000, 20220822020000, 20220822030000,\n",
       "       20220822040000, 20220822050000, 20220822060000, 20220822070000,\n",
       "       20220822080000, 20220822090000, 20220822100000, 20220822110000,\n",
       "       20220822120000, 20220822130000, 20220822140000, 20220822150000,\n",
       "       20220822160000, 20220822170000, 20220822180000, 20220822190000,\n",
       "       20220822200000, 20220822210000, 20220822220000, 20220822230000,\n",
       "       20220823000000, 20220823010000, 20220823020000, 20220823030000,\n",
       "       20220823040000, 20220823050000, 20220823060000, 20220823070000])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "indate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "# Log-spaced x values (excluding 0 for log scale)\n",
    "x = [0.001, 0.01, 0.05, 0.1, 0.2, 0.5, 0.8, 1]\n",
    "y96 = np.array([0.190, 0.190, 0.192, 0.193, 0.196, 0.243, 0.248, 0.249])\n",
    "y192 = np.array([0.217, 0.221, 0.224, 0.244, 0.260, 0.298, 0.300, 0.302])\n",
    "error96 = [0.002, 0.003, 0.004, 0.009, 0.003, 0.003, 0.003, 0.002]\n",
    "error192 = [0.002, 0.002, 0.004, 0.004, 0.005, 0.002, 0.003, 0.003]\n",
    "plt.figure(figsize=(3,3))\n",
    "\n",
    "# Plot with error bars\n",
    "plt.errorbar(x, y96, yerr=error96, fmt='-o', capsize=3, markersize=4, label='h=96')\n",
    "plt.errorbar(x, y192, yerr=error192, fmt='-o', capsize=3, markersize=4, label='h=192')\n",
    "\n",
    "# Log scale on x-axis\n",
    "plt.xscale('log')\n",
    "\n",
    "# Customize ticks and grid\n",
    "plt.xticks(x)\n",
    "plt.grid(True, axis='x')\n",
    "# replace the ticks with the x values\n",
    "plt.gca().set_xticklabels([f'{xi}' for xi in x], rotation=45, ha='right', fontsize=8)\n",
    "\n",
    "# replace the yticklabel with font size 8\n",
    "plt.yticks(fontsize=8)\n",
    "plt.ylim(0.17, 0.31)\n",
    "\n",
    "# Add vertical line and label for each x point\n",
    "# for xi in x:\n",
    "#     plt.axvline(x=xi, color='gray', linestyle='--', linewidth=0.8, alpha=0.5)\n",
    "    # plt.text(xi, 0.22, f'{xi:.3f}', rotation=45, ha='center', va='bottom', fontsize=10)\n",
    "\n",
    "# add horizontal line at y=0.2\n",
    "plt.axhline(y=0.183, color='green', linestyle='--', linewidth=2, alpha=0.5)\n",
    "plt.text(0.001, 0.172, 'No noise 96', ha='left', va='bottom', fontsize=10, color='green', fontweight='bold')\n",
    "\n",
    "plt.axhline(y=0.252, color='red', linestyle='--', linewidth=2, alpha=0.5)\n",
    "plt.text(0.001, 0.24, 'PatchTST 96', ha='left', va='bottom', fontsize=10, color='red', alpha=0.5, fontweight='bold')\n",
    "\n",
    "# add horizontal line at y=0.2\n",
    "plt.axhline(y=0.214, color='green', linestyle='--', linewidth=2, alpha=0.5)\n",
    "plt.text(0.001, 0.202, 'No noise 192', ha='left', va='bottom', fontsize=10, color='green', fontweight='bold')\n",
    "\n",
    "plt.axhline(y=0.304, color='red', linestyle='--', linewidth=2, alpha=0.5)\n",
    "plt.text(0.001, 0.292, 'PatchTST 192', ha='left', va='bottom', fontsize=10, color='red', alpha=0.5, fontweight='bold')\n",
    "\n",
    "# Add labels and legend\n",
    "plt.xlabel('Noise Level (in log scale)')\n",
    "plt.ylabel('Test Loss')\n",
    "# plt.title('Line Plot with Error Bars (Log X-axis)')\n",
    "# plt.legend()\n",
    "\n",
    "# Show plot\n",
    "# plt.show()\n",
    "# save the figure as pdf\n",
    "plt.savefig('test_loss.pdf', bbox_inches='tight')\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "uni2ts",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
